技術問答
技術文章
iT 徵才
Tag
聊天室
2023 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2021 iThome 鐵人賽
DAY
20
0
Mobile Development
麻瓜學習 iOS 開發
系列 第
20
篇
Day20:SwiftUI—GeometryReader
13th鐵人賽
enolazxy
2021-10-05 23:52:05
709 瀏覽
分享至
前言
本篇文章介紹 SwiftUI 的元件—GeometryReader。
實作
打開一個新專案
建立一個矩形:
這個矩形的位置是 hard code 出來的,
但我們的裝置很常不一樣,
所以我們需要一個相對的位置和框架大小。
加入 GeometryReader
這樣我們可以獲得整個屏幕的尺寸,
讓我們來相對的確定位置:
print 相應的 global 幾何坐標
print 相應的 local 幾何坐標
可以發現 global、local 數字不同。
因為 global 是指相對整個屏幕的坐標,
local 是指相對於其父級即這個 GeometryReader 的框架的坐標。
宣告兩個矩形
output 這兩個矩形的坐標:
會發現是相同的,
這是因為這兩個矩形都是相對同一個 GeometryReader 確定坐標的,
所以這個坐標是相對的而不是實際位置的坐標。
如果把這兩個矩形包在不同的 GeometryReader 裡:
則 output 出的坐標是不同的:
將多個元素直接放在 GeometryReader 是直接堆疊在一起的,類似 ZStack
創造重疊效果
刪除紅色矩形,並且修改兩個矩形長度:
添加 offset modifier:
出現重疊效果。
留言
追蹤
檢舉
上一篇
Day19:SwiftUI—Button
下一篇
Day21:開發自己的 APP 的前置步驟
系列文
麻瓜學習 iOS 開發
共
30
篇
目錄
RSS系列文
訂閱系列文
2
人訂閱
26
Day26:TabView
27
Day27:用 EnvironmentObject 傳遞數據
28
Day28:Update the Data and the Featured View
29
Day29: Picker controller
30
Day 30 : DetailView
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1123
組
團體組數
52
組
累計文章數
23068
篇
完賽人數
656
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
2018鐵人賽
javascript
2017鐵人賽
python
windows
php
c#
windows server
linux
css
react
程式設計
vue.js
熱門問題
請問這是甚麼編碼 ( php )
对岸的朋友们什么手机品牌最常见啊?
DC內帳號可否刪除
套裝電腦加裝繪圖卡的選擇
FortiGate奇怪的logs
QRCDOE 下載問題
python selenium問題
WSUS user 無法更新
寫了一個Powershell 疑問
想要架設內網環境 excel 網頁編輯系統,資料保存在公司本地
熱門回答
寫了一個Powershell 疑問
QRCDOE 下載問題
想要架設內網環境 excel 網頁編輯系統,資料保存在公司本地
套裝電腦加裝繪圖卡的選擇
當AD帳號啟用後RDP遠端主機卻回應此帳號停用
熱門文章
Vigor Router Firewall 只允許通過即時通訊軟體 Skype Line TG 不允許上網,限制LINE只能文字不能傳檔案圖片語音
🪨把 Notion 當 AI RAG AI智查資料庫及CRUD資料庫 部落格標題生成及總結文章
Docker Kafka Cluster 部屬筆記 (3 Brokers & 1 Zookeeper)
基於開源虛擬化Proxmox VE搭建免費虛擬桌面系統
JS學習紀錄-06-其他運算子跟三元運算子
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}